package com.jztd.servone.invoice.param;

import cn.hutool.core.util.ObjectUtil;
import com.jztd.platfrom.base.exception.InvalidArgumentException;
import lombok.Data;

@Data
public class InvoiceTitleParam {
    /**
     * 主键ID
     */
    private int id;
    /**
     * 抬头名称
     */
    private String titleName;
    /**
     * 抬头类型：1-个人，2-企业
     */
    private Integer titleType;
    /**
     * 税号
     */
    private String taxNumber;
    /**
     * 是否默认：0-否，1-是
     */
    private Boolean defaultTitle;
    /**收票邮箱*/
    private String takerEmail;
    /**租户编号*/
    private String tenant;

    /**
     * 参数校验
     *
     */
    public void validateParam() {
        if(ObjectUtil.isEmpty(this.titleName)){
            throw new InvalidArgumentException("抬头类型必须填写");
        }
        // 企业类型必须填写纳税人识别号
        if (this.titleType == 2) {
            if (ObjectUtil.isEmpty(this.taxNumber)) {
                throw new InvalidArgumentException("企业类型抬头必须填写纳税人识别号");
            }
        }
    }
}
